package com.zut.Pojo;

import lombok.*;

@Data
@AllArgsConstructor
@Builder
public class submissionsBody {
    /**
     * 提交的代码
     */
    private String source_code;

    /**
     * 编程语言的ID
     */
    private Integer language_id;

    /**
     * 编译器选项
     */

    private String compiler_options;

    /**
     * 命令行参数
     */
    private String command_line_arguments;

    /**
     * 标准输入
     */
    private String stdin;

    /**
     * 预期输出
     */
    private String expected_output;

    /**
     * CPU时间限制
     */

    private float cpu_time_limit;

    /**
     * CPU额外时间
     */
    private float cpu_extra_time;

    /**
     * 墙上时间限制
     */
    private float wall_time_limit;

    /**
     * 内存限制
     */
    private float memory_limit;

    /**
     * 栈限制
     */
    private Integer stack_limit;

    /**
     * 最大进程和/或线程数
     */
    private Integer max_processes_and_or_threads;

    /**
     * 启用每个进程和线程的时间限制
     */
    private Boolean enable_per_process_and_thread_time_limit;

    /**
     * 启用每个进程和线程的内存限制
     */
    private Boolean enable_per_process_and_thread_memory_limit;

    /**
     * 最大文件大小
     */
    private Integer max_file_size;

    /**
     * 将标准错误重定向到标准输出
     */
    private Boolean redirect_stderr_to_stdout;

    /**
     * 启用网络
     */
    private Boolean enable_network;

    /**
     * 运行次数
     */
    private Integer number_of_runs;

    /**
     * 附加文件
     */
    private String additional_files;

    /**
     * 回调URL
     */
    private String callback_url ;

    public submissionsBody() {
        this.compiler_options=null;
        this.callback_url=null;
        this.additional_files=null;
        this.command_line_arguments=null;
        this.cpu_time_limit=2;
        this.cpu_extra_time= 0.5F;
        this.wall_time_limit=5;
        this.memory_limit=128000;
        this.stack_limit=64000;
        this.max_processes_and_or_threads=60;
        this.max_file_size=4096;
        this.enable_per_process_and_thread_memory_limit=true;
        this.enable_per_process_and_thread_time_limit=false;
        this.max_file_size=1024;
        this.number_of_runs=1;
        this.enable_network=true;
        this.redirect_stderr_to_stdout=false;
    }
}
